package com.czy.enchantmentvisualization.domain.vo;

import com.czy.enchantmentvisualization.domain.entity.Rarity;
import com.czy.enchantmentvisualization.domain.entity.Type;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;


/**
 * 附魔实体类
 */
@Data
public class EnchantmentVo {

    /**
     * 附魔名称
     */
    private String displayName;

    /**
     * 附魔描述
     */
    private String description;

    /**
     * 展示变量
     */
    private String placeholder;

    /**
     * 多个变量 (和展示变量冲突 只能存在一个)
     */
    private Map<String,String> placeholders;

    /**
     * 附魔类型
     */
    private Type type;

    /**
     * 附魔适用物品
     */
    private List<String> targets = new ArrayList<>();

    /**
     * 附魔冲突
     */
    private List<String> conflicts = new ArrayList<>();

    /**
     * 稀有度
     */
    private Rarity rarity;

    /**
     * 最高等级
     */
    private Integer maxLevel;

    /**
     * 是否能从村民交易中获得
     */
    private Boolean tradeable;

    /**
     * 是否生成在战利品箱中
     */
    private Boolean discoverable;

    /**
     * 是否可以从附魔台中获得
     */
    private Boolean enchantable;

    /**
     * 文件名称 (不带后缀)
     */
    private String codeName;

    /**
     * 是否原版附魔 (默认不是原版)
     */
    private Boolean bool = false;

}
